package com.ycz;

import com.ycz.service.OrderService;
import com.ycz.service.UserService;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;

/**
 * @Author:ycz
 * @date:2021/6/8
 */
public class AopAppcalition2 {

    public static void main(String[] args) {

        AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();
        applicationContext.register(AppConfig2.class);
        applicationContext.refresh();

        // 获取到orderService（代理对象），根据默认的依赖注入（无参构造函数）会发现orderService里的userService不为null？？？？
        OrderService orderService = applicationContext.getBean("orderService", OrderService.class);
        // 获取到userService（代理对象），根据默认的依赖注入（无参构造函数）会发现userService里的 jdbcTemplate 为null 这才是正常的啊 上面的是什么鬼？？？
        UserService userService = applicationContext.getBean("userService", UserService.class);
        JdbcTemplate jdbcTemplate = applicationContext.getBean("jdbcTemplate", JdbcTemplate.class);
        orderService.testProxy();

    }


}
